#!/bin/bash

# 使用 GCC 编译安装 libexif-0.6.24 的脚本
# 安装到当前目录的 install 子目录

set -e  # 出错时退出

# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color

echo -e "${GREEN}=== 开始使用 GCC 编译安装 libexif-0.6.24 ===${NC}"

# 获取当前脚本所在目录
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
INSTALL_DIR="${SCRIPT_DIR}/install/gcc"
BUILD_DIR="${SCRIPT_DIR}/build_gcc"
SOURCE_DIR="${SCRIPT_DIR}/libexif-0.6.24"

echo -e "${YELLOW}工作目录: ${SCRIPT_DIR}${NC}"
echo -e "${YELLOW}安装目录: ${INSTALL_DIR}${NC}"
echo -e "${YELLOW}构建目录: ${BUILD_DIR}${NC}"

# 创建必要的目录
mkdir -p "${INSTALL_DIR}"
mkdir -p "${BUILD_DIR}"

# 检查源码目录是否存在
if [ ! -d "${SOURCE_DIR}" ]; then
    echo -e "${RED}错误: 找不到源码目录 ${SOURCE_DIR}${NC}"
    echo -e "${YELLOW}正在解压 libexif-0.6.24.tar.bz2...${NC}"
    
    if [ -f "${SCRIPT_DIR}/libexif-0.6.24.tar.bz2" ]; then
        cd "${SCRIPT_DIR}"
        tar -xjf libexif-0.6.24.tar.bz2
        echo -e "${GREEN}解压完成${NC}"
    else
        echo -e "${RED}错误: 找不到 libexif-0.6.24.tar.bz2 文件${NC}"
        exit 1
    fi
fi

# 进入构建目录
cd "${BUILD_DIR}"

echo -e "${YELLOW}配置编译环境...${NC}"
# libexif 使用 autotools 构建系统
"${SOURCE_DIR}/configure" \
    --prefix="${INSTALL_DIR}" \
    --enable-shared \
    --enable-static \
    --disable-docs \
    --disable-nls \
    CC=gcc

echo -e "${YELLOW}开始编译...${NC}"
make -j$(nproc)

echo -e "${YELLOW}开始安装...${NC}"
make install

echo -e "${GREEN}=== GCC 编译安装完成 ===${NC}"
echo -e "${GREEN}安装路径: ${INSTALL_DIR}${NC}"
echo -e "${GREEN}库文件: ${INSTALL_DIR}/lib${NC}"
echo -e "${GREEN}头文件: ${INSTALL_DIR}/include${NC}"

# 显示安装的文件
echo -e "${YELLOW}已安装的文件:${NC}"
find "${INSTALL_DIR}" -type f | head -10

echo -e "${GREEN}完成!${NC}"